IEEE 1394

C H A P T E R   7

IEEE 1394

This chapter presents the requirements and recommendations for IEEE 1394 under the Microsoft Windows family of operating systems.

Overview for IEEE 1394

This section summarizes the basic design requirements for the approved IEEE 1394 - 1995 standard. The IEEE 1394 high-speed serial bus provides enhanced PC connectivity for a wide range of devices, from consumer audio/video (A/V) components to traditional PC storage devices including PCs and hand held devices.

IEEE 1394 has been widely adopted by the consumer electronics industry and provides a low cost, Plug and Play-compatible expansion interface for the PC. Although the 400 megabit per second (Mb/s) transfer rate for IEEE 1394 is well suited to multi-streaming I/O demands, a proposal for 800 Mb/s is in development.

The following summarizes the IEEE 1394 design issues related to Windows, as addressed in this chapter.

IEEE 1394 Basic Requirements

This section summarizes the basic design requirements for IEEE 1394, including specifications and standards.

1. Devices and controllers support IEEE 1394 standards

Required

Designs that interface to the IEEE 1394 high-speed bus must support the following industry standards and supplemental specifications:

2. Controllers comply with OpenHCI for IEEE 1394

Required

The Open Host Controller Interface (OpenHCI) for IEEE 1394 specifies the programming interface for host connection hardware, ensuring base silicon and software driver support required for add-on devices and PC system board integration. OpenHCI for IEEE 1394 specifies basic capabilities required for the PC that uses IEEE 1394.

3. Devices comply with IEEE 1394 electrical isolation requirements

Required

Self-powered devices with their own AC power supply must provide electrical isolation between the local device ground reference (green wire) and the bus cable power signals as specified in Annex A of IEEE 1394 - 1995. This isolation is required to avoid excessive currents resulting from ground fault potential between one or more devices, particularly for buses configured in a local area network.

Isolation is typically provided in the device power supply or by AC coupling of the PHY and Link interface, Annex J of IEEE 1394 - 1995. Isolation is not required for devices that do not supply their own local ground reference (green wire).

4. Devices and PCs requiring high-bandwidth support use IEEE 1394

Recommended

For devices that need support for high-speed, high-bandwidth data transfers and enhanced Plug and Play connectivity, the recommended bus is IEEE 1394. Such devices include the following:

Component audio PIC add-on cards
Digital camcorder Hard disk drives
Digital still cameras DVD
Digital VCR Set-top controllers for TV
Digital TV Video conferencing cameras
PC docking stations High-resolution scanners and printers
PC system boards

5. Support peak data rate of 400 megabits per second, minimum

Recommended

Although 400 Mb/s is significantly higher than current PC storage I/O data rates (IDE at 132.8 Mb/s; fast SCSI at 160 Mb/s), today's magnetic disk media rates of 80 Mb/s are forecasted to double every three years. By 1998, 200 Mb/s of the IEEE 1394 bus bandwidth must be available for PC system disk I/O and asynchronous device control. Thus, 400 Mb/s bus bandwidth is required to effectively support multistreaming audio/video applications such as MPEG-2 at 6 Mb/s and DVC Standard Definition at 3.5 Mb/s concurrent with PC storage I/O.

Further, a 200-Mb/s device with a 160-Mb/s data stream will require 80 percent bus utilization, effectively lowering overall bus bandwidth to 200 Mb/s for 80 percent of the time. Therefore, low bus utilization is required for 100- and 200-Mb/s devices to effectively coexist with 400-Mb/s PC peripheral devices. For example, three devices performing at 200-Mb/s with 30-percent bus utilization will saturate the bus. recommended design targets for devices with less than 400-Mb/s bandwidth is to limit peak bus utilization to less than 30 percent.

Also, application bandwidth can be limited by speed traps (a slow device separating two faster devices), imposing speed-dependent cabling considerations for the end user. For these reasons, 400Mb/s devices are strongly recommended for IEEE 1394 PC applications.

6. PHY supports Fast Incremental Reset

Required

The IEEE 1394.1 project is chartered to define a PHY layer protocol to reduce bus off-time following a bus reset condition. All Windows-compatible devices are required to support this protocol to minimize interruption of isochronous A/V streams.

Plug and Play for IEEE 1394 Devices

This section summarizes the Plug and Play requirements for IEEE 1394 peripheral devices and PC host controllers.

7. Devices and controllers comply with "1394 Plug and Play Design Reference"

Required

This specification outlines device requirements necessary to ensure dynamic configuration while eliminating fault conditions associated with unsupervised connection of devices to the IEEE 1394 bus. It provides details about the Device Configuration ROM, Global Unique identifier (GUID) for device detection and driver loading, and configuration of power-independent connectors and cabling.

Power Specifications for IEEE 1394 Devices

All devices on the IEEE 1394 bus must comply with the power management requirements outlined in this section.

8. Devices and controllers comply with Specification for Cable Power Distribution, from IEEE 1394 Trade Association

Required

The Cable Power Distribution model for IEEE 1394 makes it easy to implement devices that serve as the source or consume cable power by defining specific requirements for power source, power sink and self-powered devices. This model reduces cabling constraints for end users while helping to ensure power availability for both managed and unmanaged IEEE 1394 environments. The power distribution model makes it easy to use cable power by reducing the likelihood of power-fault conditions while ensuring device interoperability and power-independent cabling.

The power distribution model also helps to provide a Plug and Play-compatible cabling environment for both managed and unmanaged power environments. Requirements in this specification enable unmanaged default configurations to function. Alternately, these requirements enable managed environments with an active PC bus manager to provide an enhanced Plug and Play experience.

9. Devices and controllers comply with "1394 Power Specification" from Microsoft

Required

This specification addresses both cable (bus) powered and self-powered (AC powered) devices. The device power management architecture defines a standard Command and Status Register (CSR) protocol and IEEE 1394 device power states necessary for an intelligent bus manager to effectively manage device power consumption. Benefits include consistent device behavior, power conservation and instant ("OnNow") availability for end-user applications.

The IEEE 1394 power management architecture defines a framework for Soft Power_On, Soft Power_Shutdown, and Remote Wakeup. The architecture applies a number of key features defined in the IEEE 1394 standard to implement device power management including four standard device power states (D0 - D3), power status CSRs, and device wakeup signaling. Together, these capabilities enable power conservation while providing for OnNow-compatible device environments.

Device Command Protocol for IEEE 1394 Devices

This section summarizes command protocol requirements for integration and interoperability of the IEEE 1394 bus with IEEE 1394 peripherals such as consumer electronics devices.

10. Device command protocols conform to Win32 Device Class Interfaces

Required

Support in the Windows operating systems for new device classes (for example, Digital VCR) will leverage the Win32 Driver Model (WDM) so that a single device class driver binary will support the same devices on both Windows and Windows NT.

New Win32 device driver interfaces are based on available industry standards. Areas of standardization include generic command and protocol standards for Audio, Imaging, and Storage class interfaces, spanning multiple device types in each category. Win32 class drivers provide hardware-independent, class-specific interfaces that can be extended by hardware-specific device minidrivers.

Devices that comply with interface standards such as HCI for IEEE 1394 eliminate the need for developing and testing third-party device drivers. Other devices will require implementation of a simple minidriver to extend Microsoft-supplied generic class interfaces to support a specific device. In limited, but special cases, it might be necessary for a third party to implement both a class and a minidriver to support a new device.

11. Consumer A/V device interfaces comply with industry standards

Required

These standards include Digital Interface for Consumer Electronic Audio/Video Equipment (Draft 2.1 or later) by Philips Electronics N.V., Matsushita Electric Ind. Co., Ltd, Thomson Multimedia, Sony Corporation, October, 1995 (also available from IEEE 1394 Trade Association).

This specification outlines implementation requirements for interoperability of consumer audio/video equipment over IEEE 1394. It includes a clarifying sample of a device configuration ROM and CSRs. Specific areas for compliance are summarized here:

12. Imaging devices support interface standards

Recommended

The Win32 Imaging Class drivers (for cameras, camcorders, printers, scanners, and so on) will be based on one or more of the following standards:

For more information, see the Microsoft Win32 Driver Model DDK.

13. Audio devices support interface standards

Recommended

The Win32 Audio Class driver (for component audio, musical instruments, and so on) will be implemented based on one or more of the following:

For more information, see the Microsoft Win32 Driver Model DDK.

14. Support for SCSI-3 protocol

Recommended

Where feasible, designs should leverage common command protocols defined for SCSI-3. Storage devices in particular can take advantage of common commands and protocols based on Command Descriptor Blocks (CDBs):

IEEE 1394 Controller Requirements

This section summarizes class specifications and standards for IEEE 1394 controllers. These requirements are in addition to those defined in "IEEE 1394 Basic Requirements" earlier in this chapter.

15. IEEE 1394 host controllers are bus-manager capable

Required

IEEE 1394 host controllers must be bus-manager capable as specified in clause 8.3.1.6 of the IEEE 1394 - 1995 standard. This functionality is necessary for intelligent PC bus managers to provide a managed environment for Plug and Play and for power and isochronous data, including cycle master and isochronous resource manager.

The host controller must be capable of asserting the force root node assignment protocol necessary for an IEEE 1394-capable PC to be assigned the role of active bus manager.

Other bus management capabilities include the following:

16. Host controller provides system memory protection and security

Required

Host controllers must restrict access to host memory from unqualified IEEE 1394 devices. The default after a bus reset is no access to host memory for add-on IEEE 1394 devices.

Host controllers must not provide the capability to spoof either their Node ID or the Global Unique ID using any software-accessible control.

It is acceptable if the Global Unique ID is only non-spoofable for quadlet reads from IEEE 1394 devices. Those who want to read non-spoofable Global Unique IDs should use quadlet reads, not block reads.

A host controller can spoof Node IDs only if that controller provides a hardware jumper to enable the feature (for example, for debug purposes). The state of the jumper must be detectable from software and must be disabled by default.

All IEEE 1394 devices, including host controllers, must check the source ID as well as the transaction label before accepting a response packet to satisfy an outstanding request.

References for IEEE 1394

This section lists some of the publications, services, and tools available to help build hardware that works with Windows operating systems.

IEEE 1394 Standards

ASK*IEEE
Telephone: (800) 949-4333
Fax: (415) 259-5045
Released Standards: Global Engineering, (800) 854-7179

Open Host Controller Interface Specification
Fast Incremental Reset Protocol (IEEE 1394.1 project)

http://www.skipstone.com (IEEE 1394 Trade Association web site)
Trade Association Internet reflector: IEEE 1394-sig@apple.com

"1394 Plug and Play Design Reference" from Microsoft
"1394 Power Specification" from Microsoft

http://www.microsoft.com/hwdev/specs/

Win32 Driver Model DDK for IEEE 1394, Windows 95 DDK, Windows NT DDK, and Win32 SDK

Microsoft Developer Network (MSDN) Professional membership

Digital Interface for Consumer Electronic Audio/Video Equipment (Draft 2.1 or later)

Philips Electronics N.V., Matsushita Electric Ind. Co., Ltd,
Thomson Multimedia, Sony Corporation, October, 1995

Other IEEE 1394 information can be obtained from these Internet sites:

http://www.sel.sony.com/sel/consumer/camcorder/home.cgi

http://fireware.org

http://www.ti.com/sc/ieee1394

Checklist for IEEE 1394


IEEE 1394 Basic Requirements
1. Devices and controllers support IEEE 1394 standards
Required
2. Controllers comply with OpenHCI for IEEE 1394
Required
3. Devices comply with IEEE 1394 electrical isolation requirements
Required
4. Devices and PCs requiring high-bandwidth support use IEEE 1394
Recommended
5. Support peak data rate of 400 megabits per second, minimum
Recommended
6. PHY supports Fast Incremental Reset
Required

Plug and Play for IEEE 1394 Devices
7. Devices and controllers comply with "1394 Plug and Play Design Reference"
Required

Power Specifications for IEEE 1394 Devices
8. Devices and controllers comply with Specification for Cable Power Distribution, from IEEE 1394 Trade Association
Required
9. Devices and controllers comply with "1394 Power Specification" from Microsoft
Required

Device Command Protocol for IEEE 1394 Devices
10. Device command protocols conform to Win32 Device Class Interfaces
Required
11. Consumer A/V device interfaces comply with industry standards
Required
12. Imaging devices support interface standards
Recommended
13. Audio devices support interface standards
Recommended
14. Support for SCSI-3 protocol
Recommended

IEEE 1394 Controller Requirements
15. IEEE 1394 host controllers are bus-manager capable
Required
16. Host controller provides system memory protection and security
Required